On automating the extraction of programs from proofs using product types

نویسندگان

  • Fairouz Kamareddine
  • François Monin
  • Mauricio Ayala-Rincón
چکیده

Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). • The verification of the types (compilation) is a proof of program. Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). • The verification of the types (compilation) is a proof of program. • The ProPre system was designed as a prototype to show the feasibility of the theory. Motivation • The difficulty is to find formal proofs automatically. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. • The proofs are expressed in natural deduction style. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. • The proofs are expressed in natural deduction style. • The automated termination proofs = techniques of rewriting systems. Motivation • Is it possible to go further than the ProPre system but using the same theory ? Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. • We then develop some particular formal proofs using product types. Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. • We then develop some particular formal proofs using product types. • The formal proofs are released from the termination part. Motivation • Is it possible to go further than the ProPre system but using …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On Automating the Extraction of Programs from Termination Proofs

We investigate an automated program synthesis system that is based on the paradigm of programming by proofs. To automatically extract a λ-term that computes a recursive function given by a set of equations the system must find a formal proof of the totality of the given function. Because of the particular logical framework, usually such approaches make it difficult to use termination techniques...

متن کامل

Automated Proof and Program Development

The aim of this paper is to present proof and program development in in-tuitionistic logic and attempt to automating this with tactics and strategies. It is important in computer science to have correct programs and much work has been devoted to this aspect. Typically, the study of the relationships between intuitionistic logic and computer science leads to the programming with proofs, i.e., ex...

متن کامل

Extracting Recursive Programs in Type Theory

Martin-LL of's constructive type theory is a foundational theory of mathematics and programming. The key to using type theory as a logic is the formulas as types principle, whereby propositional assertions are directly expressed by types. Furthermore, using the extraction method programs can automatically be extracted from proofs. One weakness of the use of the extraction method to date, howeve...

متن کامل

The Semantics of Reflected Proof

We begin to lay the foundations for reasoning about proofs whose steps include both invocations of programs to build subproofs (tactics) and references to representations of proofs themselves (reflected proofs). The main result is the definition of a single type of proof which can mention itself, using a new technique which finds a fixed point of a mapping between metalanguage and object langua...

متن کامل

Internal Program Extraction in the Calculus of Inductive Constructions

Based on the Calculus of Constructions extended with in-ductive deenitions we present a Theory of Speciications with rules for simultaneously constructing programs and their correctness proofs. The theory contains types for representing speciications, whose corresponding notion of implementation is that of a pair formed by a program and a correctness proof. The rules of the theory are such that...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 67  شماره 

صفحات  -

تاریخ انتشار 2002